#include <stdio.h>
#include <stdlib.h>
int g_unval;
int g_val = 100;
int main(int argc, char* argv[], char* env[])
{
  const char* s = "sherry";
  printf("code addr:%p\n", main);
  printf("string rdonly addr:%p\n", s);
  printf("int addr:%p\n", &g_val);
  printf("unint adde:%p\n", &g_unval);

  char* heap = (char*)malloc(10);
  printf("heap addr:%p\n", heap);
  printf("stack addr:%p\n", &s);
  
  int a = 1;
  int b = 1;
  int c = 1;
  printf("stack addr:%p\n", &a);
  printf("stack addr:%p\n", &b);
  printf("stack addr:%p\n", &c);

  for(int i = 0; argv[i]; i++)
  {
    printf("argv[%d]->%p\n", i, argv[i]);
  }
  for(int i = 0; env[i]; i++)
  {
    printf("env[%d]->%p\n", i, env[i]);
  }
}
//int main()
//{
//  const char* q = "sherry";
//  const char* p = "sherry";
//
//  printf("%p\n", q);
//  printf("%p\n", p);
//  return 0;
//}
